package com.springboot.frame.excel.annotation;

import org.apache.poi.ss.usermodel.*;

import java.lang.annotation.*;

/**
 * @author madman
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface HeaderStyle {

  /**
   * 该列表头字体名，默认宋体
   */
  String fontName() default "宋体";

  /**
   * 该列表头字体大小，默认10
   */
  short fontSize() default 10;

  /**
   * 该列表头字体是否加粗，默认true
   */
  boolean fontBold() default true;

  /**
   * 该列表头字体是否倾斜，默认false
   */
  boolean fontItalic() default false;

  /**
   * 该列表头字体是否有删除线，默认false
   */
  boolean fontStrikeout() default false;

  /**
   * 该列表头字体是否有下划线，默认false
   */
  boolean fontUnderLine() default false;

  /**
   * 该表表头字体颜色，默认黑色
   */
  IndexedColors fontColor() default IndexedColors.BLACK;

  /**
   * 该列表头数据是否自动换行，默认false
   */
  boolean wrapText() default false;

  /**
   * 该列表头单元格水平样式，默认水平居中
   */
  HorizontalAlignment horizontal() default HorizontalAlignment.CENTER;

  /**
   * 该列表头单元格水平样式，默认垂直居中
   */
  VerticalAlignment vertical() default VerticalAlignment.CENTER;

  /**
   * 该列表头单元格背景颜色，默认白色
   */
  IndexedColors fillColor() default IndexedColors.WHITE;

  /**
   * 该列表头单元格颜色填充方式，默认全部填充
   */
  FillPatternType fillPatternType() default FillPatternType.SOLID_FOREGROUND;

  /**
   * 该列表头单元格四周边框样式，默认THIN
   */
  BorderStyle borderStyle() default BorderStyle.THIN;

}
